home *** CD-ROM | disk | FTP | other *** search
/ MacFormat España 19 / macformat_19.iso / Shareware / Developers / N Game Library1.1.0E(ppc) / Sprite Sample(PPC) / Sprite_Sample(PPC).c < prev   
C/C++ Source or Header  |  1996-06-23  |  3KB  |  105 lines

  1. /*============================================================
  2.  
  3.                     N_Sprite sample program
  4.                     
  5. ============================================================*/
  6.  
  7. #include            "N_Library.h"
  8.  
  9. void             DoEvent            (EventRecord *eventPtr);
  10. void             DoError            (Str255 errorString);
  11. WindowPtr     CreateWindow         (Str255 name);
  12.  
  13.  
  14. #define        WindowSizeX        640
  15. #define        WindowSizeY        480
  16.  
  17. short        Data_Rsrc = 0;
  18.  
  19. short        NewWindowX;
  20. short        NewWindowY;
  21.  
  22. long            counter = 0;
  23.  
  24. void main(void)
  25. {
  26.     WindowPtr    window;
  27.     short        x,y;
  28.     long            ww;
  29.     
  30.     ToolboxInit();
  31.     ColorCheck();
  32.     window = CreateWindow("\pN Game Library <Sprite Sample>");
  33.     N_Window_Set(window,NewWindowX,NewWindowY,WindowSizeX,WindowSizeY);            //setup window
  34.     Open_Resource_File(128,1,&Data_Rsrc);
  35.  
  36.     N_Pict_Draw(128,0,0,(GrafPtr)Main_Window,true);
  37.  
  38.     N_Sprite_Set(129,0,128,128,0,1,1,0);                                            //set sprites(0-4)
  39.     N_Sprite_Set(130,1,128,128,0,1,1,0);
  40.     N_Sprite_Set(131,2,32,32,0,1,1,0);
  41.     N_Sprite_Set(132,3,32,32,0,1,1,0);
  42.  
  43.     Close_Resource_File(&Data_Rsrc);
  44.     HideCursor();
  45.     Delay(60,&ww);
  46.     do
  47.     {
  48.  
  49.     x = (GetRandom(0,760) -60);
  50.     y = (GetRandom(0,540) -60);
  51.  
  52.     if (counter>=0 && counter<500*2)            N_Sp_Put_Win(0,x,y);                        //SP0 normal,overwrite
  53.     if (counter>=500*2 && counter<1000*2    )    N_Sp_Put_Win(0x00010000,x,y);                //SP0 Hrev,overwrite
  54.     if (counter>=1000*2 && counter<1500*2)    N_Sp_Put_Win(0x00020000,x,y);                //SP0 Vrev,overwrite
  55.     if (counter>=1500*2 && counter<2000*2)    N_Sp_Put_Win(0x00030000,x,y);                //SP0 H/V rev,overwrite
  56.  
  57.     if (counter>=2000*2 && counter<6000*2)    N_Sp_Put_Win(2,x,y);                        //SP2 normal,overwrite
  58.     if (counter>=6000*2 && counter<10000*2)    N_Sp_Put_Win(0x00010002,x,y);                //SP2 Hrev,overwrite
  59.     if (counter>=10000*2 && counter<14000*2)    N_Sp_Put_Win(0x00020002,x,y);                //SP2 Vrev,overwrite
  60.     if (counter>=14000*2 && counter<18000*2)    N_Sp_Put_Win(0x00030002,x,y);                //SP2 H/V rev,overwrite
  61.  
  62.     if (counter>=18000*2 && counter<18500*2)    N_Sp_Put_Win(0x80000001,x,y);                //SP1 normal,overlap
  63.     if (counter>=18500*2 && counter<19000*2)    N_Sp_Put_Win(0x80010001,x,y);                //SP1 Hrev,overlap
  64.     if (counter>=19000*2 && counter<19500*2)    N_Sp_Put_Win(0x80020001,x,y);                //SP1 Vrev,overlap
  65.     if (counter>=19500*2 && counter<20000*2)    N_Sp_Put_Win(0x80030001,x,y);                //SP1 H/V rev,overlap
  66.  
  67.     if (counter>=20000*2 && counter<24000*2)    N_Sp_Put_Win(0x80000003,x,y);                //SP3 normal,overlap
  68.     if (counter>=24000*2 && counter<28000*2)    N_Sp_Put_Win(0x80010003,x,y);                //SP3 Hrev ,overlap
  69.     if (counter>=28000*2 && counter<32000*2)    N_Sp_Put_Win(0x80020003,x,y);                //SP3 Vrev,overlap
  70.     if (counter>=32000*2 && counter<36000*2)    N_Sp_Put_Win(0x80030003,x,y);                //SP3 H/V rev,overlap
  71.  
  72.  
  73.     if (counter>=72000) counter = 0;
  74.     counter++;
  75.  
  76.     }
  77.     while (!Button());
  78.     ShowCursor();
  79.     ColorRevert();
  80. }
  81.  
  82.  
  83.  
  84.  
  85. WindowPtr CreateWindow (Str255 name)
  86. {
  87.     WindowPtr    window;
  88.     short        centerX,centerY;
  89.     short        windowWidth,windowHeight;
  90.  
  91.  
  92.     window = GetNewWindow (128,nil,(WindowPtr)-1L );
  93.     centerX  = (qd.screenBits.bounds.right -qd.screenBits.bounds.left)/2;
  94.     centerY  = (qd.screenBits.bounds.bottom -qd.screenBits.bounds.top)/2;
  95.     SetWTitle(window,name);
  96.     MoveWindow(window,NewWindowX=centerX-(WindowSizeX/2),NewWindowY=centerY-(WindowSizeY/2),false);
  97.     SizeWindow(window,WindowSizeX,WindowSizeY,TRUE);
  98.  
  99.     ShowWindow(window);
  100.     SetPort((GrafPtr)window );
  101.     return (WindowPtr)window;
  102. }
  103.     
  104.  
  105.